diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 8df6c1b..889ea17 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -246,15 +246,15 @@
 	function escape_str($str)	
 	{	
 		if (is_array($str))
-    	{
-    		foreach($str as $key => $val)
-    		{
-    			$str[$key] = $this->escape_str($val);
-    		}
-    		
-    		return $str;
-    	}
-	
+		{
+			foreach($str as $key => $val)
+	   		{
+				$str[$key] = $this->escape_str($val);
+	   		}
+   		
+	   		return $str;
+	   	}
+
 		if (function_exists('mysql_real_escape_string') AND is_resource($this->conn_id))
 		{
 			return mysql_real_escape_string($str, $this->conn_id);
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php
index 73373c8..20ab925 100644
--- a/system/database/drivers/oci8/oci8_result.php
+++ b/system/database/drivers/oci8/oci8_result.php
@@ -42,13 +42,15 @@
 	 */
 	function num_rows()
 	{
-        $rowcount = count($this->result_array());
-        @ociexecute($this->stmt_id);
-        if ($this->curs_id)
+		$rowcount = count($this->result_array());
+		@ociexecute($this->stmt_id);
+
+		if ($this->curs_id)
 		{
 			@ociexecute($this->curs_id);
 		}
-        return $rowcount;
+
+		return $rowcount;
 	}
 
 	// --------------------------------------------------------------------
